Part Number Hot Search : 
BR605 OM7627NM LET9060C MP8786AN SMBJ13CA CD510825 2230004 HT82M
Product Description
Full Text Search
 

To Download ADIS16407 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  ten degrees of freedom inertial sensor ADIS16407 rev. a information furnished by analog devices is believed to be accurate and reliable. however, no responsibility is assumed by analog devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. specifications subject to change without notice. no license is granted by implication or otherwise under any patent or patent rights of analog devices. trademarks and registered trademarks are the property of their respective owners. one technology way, p.o. box 9106, norwood, ma 02062-9106, u.s.a. tel: 781.329.4700 www.analog.com fax: 781.461.3113 ?2011 analog devices, inc. all rights reserved. features triaxial digital gyroscope with digital range scaling 75/sec, 150/sec, 300/sec settings axis-to-axis alignment, <0.05 triaxial digital accelerometer, 18 g minimum triaxial digital magnetometer, 2.5 gauss minimum digital barometer, 10 mbar to 1200 mbar calibrated pressure range: 300 mbar to 1100 mbar autonomous operation and data collection no external configuration commands required 210 ms start-up time, 4 ms sleep mode recovery time factory calibrated sensitivity, bias, and axial alignment calibration temperature range: ?40c to +85c spi-compatible serial interface embedded temperature sensor programmable operation and control automatic and manual bias correction controls bartlett window fir length, number of taps digital i/o: data ready, alarm indicator, general-purpose alarms for condition monitoring sleep mode for power management dac output voltage enable external sample clock input up to 1.1 khz single command self test single-supply operation: 4.75 v to 5.25 v 2000 g shock survivability operating temperature range: ?40c to +105c applications platform stabilization and control navigation robotics general description the ADIS16407 i sensor? device is a complete inertial system that includes a triaxial gyroscope, a triaxial accelerometer, a triaxial magnetometer, and pressure sensors. each sensor in the ADIS16407 combines industry-leading i mems? technology with signal conditioning that optimizes dynamic performance. the factory calibration characterizes each sensor for sensitivity, bias, alignment, and linear acceleration (gyro bias). as a result, each sensor has its own dynamic compensation formulas that provide accurate sensor measurements. the ADIS16407 provides a simple, cost-effective method for integrating accurate, multiaxis inertial sensing into industrial systems, especially when compared with the complexity and investment associated with discrete designs. all necessary motion testing and calibration are part of the production process at the factory, greatly reducing system integration time. tight orthogonal alignment simplifies inertial frame alignment in navigation systems. the spi and register structure provide a simple interface for data collection and configuration control. the ADIS16407 has a compatible pinout for systems that currently use adis1635x, adis1636x, and adis1640x imu products. the ADIS16407 is packaged in a module that is approximately 23 mm 23 mm 23 mm and has a standard connector interface. functional block diagram controlller clock triaxial gyro triaxial accel power management cs sclk din dout gnd vdd temp vdd dio1 dio2 dio3 dio4 rst spi triaxial magn pressure self test i/o alarms output data registers user control registers calibration and filters ADIS16407 09797-001 figure 1. www..net
ADIS16407 rev. a | page 2 of 24 table of contents features .............................................................................................. 1 applications....................................................................................... 1 general description ......................................................................... 1 functional block diagram .............................................................. 1 revision history ............................................................................... 2 specifications..................................................................................... 3 timing specifications .................................................................. 6 absolute maximum ratings............................................................ 7 esd caution.................................................................................. 7 pin configuration and function descriptions............................. 8 typical performance characteristics ............................................. 9 basic operation............................................................................... 10 reading sensor data.................................................................. 10 output data registers................................................................ 11 input adc channel................................................................... 13 device configuration ................................................................ 13 user registers.................................................................................. 14 system functions............................................................................ 15 global commands ..................................................................... 15 power management.................................................................... 15 product identification................................................................ 15 memory management ............................................................... 15 self test function ....................................................................... 16 status/error flags ....................................................................... 16 input/output configuration......................................................... 17 data ready input/output indicator ........................................ 17 general-purpose input/output................................................ 17 auxiliary dac ............................................................................ 17 digital processing configuration................................................. 18 sample rate ................................................................................. 18 input clock configuration ....................................................... 18 digital filtering........................................................................... 18 dynamic range .......................................................................... 18 calibration....................................................................................... 19 gyroscopes .................................................................................. 19 accelerometers ........................................................................... 20 magnetometer calibration........................................................ 20 flash updates.............................................................................. 21 restoring factory calibration .................................................. 21 alarms.............................................................................................. 22 static alarm use ......................................................................... 22 dynamic alarm use .................................................................. 22 alarm reporting ........................................................................ 22 applications information .............................................................. 23 installation/handling................................................................. 23 gyroscope bias optimization................................................... 23 interface printed circuit board (pcb).................................... 23 outline dimensions ....................................................................... 24 ordering guide .......................................................................... 24 revision history 6/11rev. 0 to rev. a changes to device configuration section and figure 16......... 13 changes to figure 19...................................................................... 18 changes to figure 25 caption....................................................... 24 changes to ordering guide .......................................................... 24 4/11revision 0: initial version
ADIS16407 rev. a | page 3 of 24 specifications t a = 25c, vdd = 5 v, angular rate = 0/sec, dynamic range = 300/sec 1 g , unless otherwise noted. table 1. parameter test conditions/comments min typ max unit gyroscopes dynamic range 300 350 /sec initial sensitivity dynamic range = 300/sec 0.0495 0.05 0.0505 /sec/lsb dynamic range = 150/sec 0.025 /sec/lsb dynamic range = 75/sec 0.0125 /sec/lsb sensitivity temperature coefficient ?40c t a +85c 40 ppm/c misalignment axis to axis 0.05 degrees axis to frame (package) 0.5 degrees nonlinearity best fit straight line 0.1 % of fs initial bias error 1 3 /sec in-run bias stability 1 , smpl_prd = 0x0001 0.007 /sec angular random walk 1 , smpl_prd = 0x0001 1.9 /hr bias temperature coefficient ?40c t a +85c 0.01 /sec/c linear acceleration effect on bias any axis, 1 (msc_ctrl[7] = 1) 0.05 /sec/ g bias voltage sensitivity vdd = 4.75 v to 5.25 v 0.3 /sec/v output noise 300/sec range, no filtering 0.8 /sec rms rate noise density f = 25 hz, 300/sec ra nge, no filtering 0.044 /sec/hz rms 3 db bandwidth 330 hz sensor resonant frequency 14.5 khz accelerometers each axis dynamic range 18 g initial sensitivity 3.285 3.33 3.38 m g /lsb sensitivity temperature coefficient ?40c t a +85c 50 ppm/c misalignment axis to axis 0.2 degrees axis to frame (package) 0.5 degrees nonlinearity best fit straight line 0.1 % of fs initial bias error 1 50 m g in-run bias stability 1 , smpl_prd = 0x0001 0.2 m g velocity random walk 1 , smpl_prd = 0x0001 0.2 m/sec/hr bias temperature coefficient ?40c t a +85c 0.3 mg /c bias voltage sensitivity vdd = 4.75 v to 5.25 v 2.5 m g /v output noise no filtering 9 m g rms noise density no filtering 0.5 m g /hz rms 3 db bandwidth 330 hz sensor resonant frequency 5.5 khz magnetometer dynamic range 2.5 3.5 gauss initial sensitivity 25c 0.49 0.5 0.51 mgauss/lsb sensitivity temperature coefficient 25c, 1 600 ppm/c misalignment axis to axis 0.25 degrees axis to frame (package) 0.5 degrees nonlinearity best fit straight line 0.5 % of fs initial bias error 25c, 0 gauss stimulus 4 mgauss bias temperature coefficient ?40c t a +85c 0.5 mgauss/c output noise 25c, no filtering, rms 1.15 mgauss noise density 25c, no filtering, rms 0.06 mgauss/hz bandwidth ?3 db 1540 hz
ADIS16407 rev. a | page 4 of 24 parameter test conditions/comments min typ max unit barometer pressure range operating 300 1100 mbar extended 1 10 1200 mbar sensitivity baro_out only 2 0.08 mbar/lsb total error 25c, 300 mbar to 1100 mbar 1.5 mbar relative error 3 ?40c to +85c, 300 mbar to 1100 mbar 2.5 mbar linearity 4 25c, 300 mbar to 1100 mbar 0.1 % of fs ?40c to +85c, 300 mbar to 1100 mbar 0.15 % of fs noise 0.027 mbar rms temperature sensor scale factor 25c, output = 0x0000 0.14 c/lsb adc input resolution 12 bits integral nonlinearity 2 lsb differential nonlinearity 1 lsb offset error 4 lsb gain error 2 lsb input range 0 3.3 v input capacitance during acquisition 20 pf dac output 5 k/100 pf to gnd resolution 12 bits relative accuracy 101 lsb input code 4095 lsb 4 lsb differential nonlinearity 1 lsb offset error 5 mv gain error 0.5 % output range 0 3.3 v output impedance 2 output settling time 10 s logic inputs 5 input high voltage, v ih 2.0 v input low voltage, v il 0.8 v cs signal to wake up from sleep mode 0.55 v cs wake-up pulse width 20 s logic 1 input current, i ih v ih = 3.3 v 0.2 10 a logic 0 input current, i il v il = 0 v all pins except rst 40 60 a rst pin 1 ma input capacitance, c in 10 pf digital outputs 5 output high voltage, v oh i source = 1.6 ma 2.4 v output low voltage, v ol i sink = 1.6 ma 0.4 v flash memory endurance 6 10,000 cycles data retention 7 t j = 85c 20 years functional times 8 time until new data is available power-on start-up time 210 ms reset recovery time 90 ms sleep mode recovery time 7 ms flash memory update time 75 ms flash memory test time 30 ms automatic self test time smpl_prd = 0x0001 52 ms
ADIS16407 rev. a | page 5 of 24 parameter test conditions/comments min typ max unit conversion rate sps xgyro_out, xaccl_out, xmagn_out smpl_prd = 0x0001 819.2 sps bar_out, baro_outl 9 smpl_prd = 0x0001 51.2 sps clock accuracy 3 % sync input clock 10 0.8 1.1 khz power supply operating voltage range, vdd 4.75 5.0 5.25 v power supply current 70 ma sleep mode 1.4 ma 1 the extended pressure rang e is guaranteed by design. 2 see table 22 for the bar_outl register details, which offer additional digital resolution improvements. 3 the relative error assumes that the initial error, at +25c, is corrected in the end application. 4 linearity errors assume a full scale (fs) of 1000 mbar. 5 the digital i/o signals are driven by an internal 3.3 v supply, and the inputs are 5 v tolerant. 6 endurance is qualified as per jedec standard 22, method a117, and measured at ?40c, +25c, +85c, and +125c. 7 the data retention lifetime equivalent is at a junction temperature (t j ) of 85c as per jedec st andard 22, method a117. data retention lifetime decreases with junction temperature. 8 these times do not includ e thermal settling and inte rnal filter response t imes (330 hz bandwidth), wh ich may affect overall ac curacy. 9 the baro_out and baro_outl registers sample at a rate that is 1/16 th that of the other output registers. 10 the sync input clock functions below the specified minimum value, but at reduced performance levels.
ADIS16407 rev. a | page 6 of 24 timing specifications t a = 25c, vdd = 5 v, unless otherwise noted. table 2. normal mode burst read parameter description min 1 typ max min 1 typ max unit f sclk serial clock 0.01 2.0 0.01 1.0 mhz t stall stall period between data 9 1/f sclk s t readrate read rate 40 s t cs chip select to sclk edge 48.8 48.8 ns t dav dout valid after sclk edge 100 100 ns t dsu din setup time before sclk rising edge 24.4 24.4 ns t dhd din hold time after sclk rising edge 48.8 48.8 ns t sclkr , t sclkf sclk rise/fall times, not shown in timing diagrams 5 12.5 5 12.5 ns t dr , t df dout rise/fall times, not shown in timing diagrams 5 12.5 5 12.5 ns t sfs cs high after sclk edge 5 5 ns t 1 input sync positive pulse width 5 5 s t x input sync low time 100 100 s t 2 input sync to data read y output 600 600 s t 3 input sync period 910 910 s 1 guaranteed by design and characterization, but not tested in production. timing diagrams cs sclk dout din 123456 1 51 6 r/w a5 a6 a4 a3 a2 d2 msb db14 d1 lsb db13 db12 db10 db11 db2 lsb db1 t cs t sfs t dav t dhd t dsu 09797-002 figure 2. spi timing and sequence cs sclk t readrate t stall 09797-003 figure 3. stall time and data rate t 3 t x t 2 t 1 sync clock (dio4) data ready 07570-004 figure 4. input clock timing diagram
ADIS16407 rev. a | page 7 of 24 absolute maximum ratings table 3. parameter rating acceleration any axis, unpowered 2000 g any axis, powered 2000 g vdd to gnd ?0.3 v to +6.0 v digital input voltage to gnd ?0.3 v to +5.3 v digital output voltage to gnd ?0.3 v to +3.6 v analog input to gnd ?0.3 v to +3.6 v temperature operating range ?40c to +105c storage range ?65c to +125c 1, 2 pressure 6 bar 1 extended exposure to temperatures outside the specified temperature range of ?40c to +105c can adversely affect the accuracy of the factory calibration. for best accuracy, store the parts within the specified operating range of ?40 c to +105c. 2 although the device is capable of withstanding short-term exposure to 150c, long-term exposure threatens internal mechanical integrity. stresses above those listed under absolute maximum ratings may cause permanent damage to the device. this is a stress rating only; functional operation of the device at these or any other conditions above those indicated in the operational section of this specification is not implied. exposure to absolute maximum rating conditions for extended periods may affect device reliability. table 4. package characteristics package type ja jc device weight 24-lead module (ml-24-2) 39.8c/w 14.2c/w 16 grams esd caution
ADIS16407 rev. a | page 8 of 24 pin configuration and fu nction descriptions notes 1. this view represents the top view of the mating connector. 2. when connected, the pins are not visible. 3. mating connector: samtec clm-112-02 or equivalent. 4. dnc = do not connect. 1 dio3 sclk din dio1 dio2 vdd gnd gnd dnc dnc aux_adc dnc dio4/clkin dout cs rst vdd vdd gnd dnc dnc aux_dac dnc dnc 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ADIS16407 top view (not to scale) 09797-005 figure 5. pin configuration pin 1 pin 23 09797-006 figure 6. axial orientation table 5. pin function descriptions pin no. mnemonic type 1 description 1 dio3 i/o configurable digital input/output. 2 dio4/clkin i/o configurable digital input/output or sync clock input. 3 sclk i spi serial clock. 4 dout o spi data output. clocks th e output on the sclk falling edge. 5 din i spi data input. clocks th e input on the sclk rising edge. 6 cs i spi chip select. 7 dio1 i/o configurable digital input/output. 8 rst i reset. 9 dio2 i/o configurable digital input/output. 10, 11, 12 vdd s power supply. 13, 14, 15 gnd s power ground. 16, 17, 18, 19, 22, 23, 24 dnc n/a do not connect. do not connect to these pins. 20 aux_dac o auxiliary, 12-bit dac output. 21 aux_adc i auxiliary, 12-bit adc input. 1 s is supply, o is output, i is input, n/a is not applicable.
ADIS16407 rev. a | page 9 of 24 typical performance characteristics 0.001 0.01 0.1 0.1 1 10 100 1k 10k tau (sec) root a llan variance (/sec) ?1 mean +1 09797-007 figure 7. gyroscope root allan variance 0.0001 0.001 0.01 0.1 1 10 100 1k 10k tau (sec) root a llan variance ( g ) ?1 mean +1 09797-008 figure 8. accelerometer root allan variance
ADIS16407 rev. a | page 10 of 24 basic operation the ADIS16407 is an autonomous system that requires no user initialization. when it has a valid power supply, it initializes itself and starts sampling, processing, and loading sensor data into the output registers at a sample rate of 819.2 sps. dio1 pulses high after each sample cycle concludes. the spi interface enables simple integration with many embedded processor platforms, as shown in figure 9 (electrical connection) and table 6 (pin functions). system processor spi master ADIS16407 sclk cs din dout sclk ss mosi miso 5v irq dio1 vdd i/o lines are compatible with 3.3v or 5v logic levels 10 6 3 5 4 7 11 12 13 14 15 09797-009 figure 9. electrical connection diagram table 6. generic master processor pin names and functions pin name function ss slave select sclk serial clock mosi master output, slave input miso master input, slave output irq interrupt request the ADIS16407 spi interface supports full duplex serial commu- nication (simultaneous transmit and receive) and uses the bit sequence shown in figure 13 . table 7 provides a list of the most common settings that require attention to initialize the serial port of a processor for the ADIS16407 spi interface. table 7. generic master processor spi settings processor setting description master the ADIS16407 operates as a slave sclk rate 2 mhz 1 maximum serial clock rate spi mode 3 cpol = 1 (polarity), cpha = 1 (phase) msb-first mode bit sequence 16-bit mode shift register/data length 1 for burst read, sclk rate 1 mhz. reading sensor data the ADIS16407 provides two different options for acquiring sensor data: single register and burst register. a single register read requires two 16-bit spi cycles. the first cycle requests the contents of a register using the bit assignments in figure 13 . bit dc7 to bit dc0 are dont care for a read, and then the output register contents follow on dout during the second sequence. figure 10 includes three single register reads in succession. in this example, the process starts with din = 0x0400 to request the contents of xgyro_out, then follows with 0x0600 to request ygyro_out and 0x0800 to request zgyro_out. full duplex operation enables processors to use the same 16-bit spi cycle to read data from dout while requesting the next set of data on din. figure 11 provides an example of the four spi signals when reading xgyro_out in a repeating pattern. xgyro_out din dout ygyro_out zgyro_out 0x0400 0x0600 0x0800 09797-010 figure 10. spi read example dout = 1111 1001 1101 1010 = 0xf9da = ?1574 lsbs => ?19.675/sec din = 0000 0100 0000 0000 = 0x0400 sclk cs din dout 09797-011 figure 11. example spi read , second 16-bit sequence burst read function the burst read function enables the user to read all output registers using one command on the din line and shortens the stall time between each 16-bit segment to one sclk cycle (see table 2 ). figure 12 provides the burst read sequence of data on each spi signal. the sequence starts with writing 0x3e00 to din, followed by each output register clocking out on dout, in the order in which they appear in table 8 . 0x3e00 don?t care 123 1 5 cs sclk din dout xgyro_out supply_out aux_adc 09797-012 figure 12. burst read sequence r/w r/w a6 a5 a4 a3 a2 a1 a0 dc7 dc6 dc5 dc4 dc3 dc2 dc1 dc0 d0 d1 d2d3d4d5d6d7d8d9 d10d11d12d13d14 d15 cs sclk din dout a6 a5 d13d14 d15 notes 1. the dout bit pattern reflects the entire contents of the register identified by [a6:a0] in the previous 16-bit din sequence when r/w = 0. 2. if r/w = 1 during the previous sequence, dout is not defined. 09797-013 figure 13. spi communication bit sequence
ADIS16407 rev. a | page 11 of 24 output data registers the output registers in table 8 provide the most recent sensor data produced by the ADIS16407. each output register has flags for new data indication and error/alarm conditions, which reduces the need to monitor diag_stat. table 8. output data register formats register address measurement supply_out 0x02 power supply xgyro_out 0x04 gyroscope, x-axis ygyro_out 0x06 gyroscope, y-axis zgyro_out 0x08 gyroscope, z-axis xaccl_out 0x0a accelerometer, x-axis yaccl_out 0x0c accelerometer, y-axis zaccl_out 0x0e accelerometer, z-axis xmagn_out 0x10 magnetometer, x-axis ymagn_out 0x12 magnetometer, y-axis zmagn_out 0x14 magnetometer, z-axis baro_out 0x16 barometer/pressure, higher baro_outl 0x18 barometer/pressure, lower temp_out 1 0x1a internal temperature aux_adc 0x1c auxiliary adc 1 this is most useful for monitoring relative changes in the temperature. y-axis a y g y g x x-axis a x z-axis a z g z m x m y m z 09797-014 figure 14. inertial sensor direction reference gyroscopes figure 14 provides arrows (g x , g y , g z ) that indicate the direction of rotation, which produces a positive response in the gyroscope output registers: xgyro_out (x-axis, table 9 ), ygyro_out (y-axis, table 1 0 ), and zgyro_out (z-axis, table 11 ). table 12 illustrates the gyroscope data format. table 9. xgyro_out (base address = 0x04), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] x-axis gyroscope data, twos complement format, 0.05/sec per lsb, when sens_avg[15:8] = 0x04 table 10. ygyro_out (base address = 0x06), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] y-axis gyroscope data, twos complement format, 0.05/sec per lsb, when sens_avg[15:8] = 0x04 table 11. zgyro_out (base address = 0x08), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] z-axis gyroscope data, twos complement format, 0.05/sec per lsb, when sens_avg[15:8] = 0x04 table 12. rotation rate, twos complement format rotation rate decimal hex binary +300/sec +6000 0x1770 xx01 0111 0111 0000 +0.1/sec +2 0x0002 xx00 0000 0000 0010 +0.05/sec +1 0x0001 xx00 0000 0000 0001 0/sec 0 0x0000 xx00 0000 0000 0000 ?0.05/sec ?1 0x3fff xx11 1111 1111 1111 ?0.1/sec ?2 0x3ffe xx11 1111 1111 1110 ?300/sec ?6000 0x2890 xx10 1000 1001 0000 accelerometers figure 14 provides arrows (a x , a y , a z ) that indicate the direction of acceleration, which produces a positive response in the gyroscope output registers: xaccl_out (x-axis, table 13 ), yaccl_out (y-axis, table 14 ), and zaccl_out (z-axis, table 15 ). table 16 illustrates the accelerometer data format. table 13. xaccl_out (base address = 0x0a), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] x-axis acceleration data, twos complement format, 0.25 m g per lsb table 14. yaccl_out (base address = 0x0c), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] y-axis acceleration data, twos complement format, 0.25 m g per lsb table 15. zaccl_out (base address = 0x0e), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] z-axis acceleration data, twos complement format, 0.25 m g per lsb
ADIS16407 rev. a | page 12 of 24 table 16. acceleration, twos complement format acceleration decimal hex binary +18 g +5401 0x1519 xx01 0101 0001 1001 +6.667 m g +2 0x0002 xx00 0000 0000 0010 +3.333 m g +1 0x0001 xx00 0000 0000 0001 0 g 0 0x0000 xx00 0000 0000 0000 ?3.333 m g ?1 0x3fff xx11 1111 1111 1111 ?6.667 m g ?2 0x3ffe xx11 1111 1111 1110 ?18 g ?5401 0x2ae7 xx10 1010 1110 0111 magnetometers figure 14 provides arrows (m x , m y , m z ) that indicate the direction of the magnetic field, which produces a positive response in the gyroscope output registers: xmagn_out (x-axis, table 17 ), ymagn_out (y-axis, table 18 ), and zamagn_out (z-axis, table 19 ). table 20 illustrates the magnetic field intensity data format. table 17. xmagn_out (base address = 0x10), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] x-axis magnetic field intensity data, twos complement format, 0.5 mgauss per lsb table 18. ymagn_out (base address = 0x12), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] y-axis magnetic field intensity data, twos complement format, 0.5 mgauss per lsb table 19. zmagn_out (base address = 0x14), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] z-axis magnetic field intens ity data, twos complement format, 0.5 mgauss per lsb table 20. magnetometer, twos complement format magnetic field decimal hex binary +2.5 gauss +5000 0x1388 xx01 0011 1000 1000 +0.001 gauss +2 0x0002 xx00 0000 0000 0010 +0.0005 gauss +1 0x0001 xx00 0000 0000 0001 0 gauss 0 0x0000 xx00 0000 0000 0000 ?0.0005 gauss ?1 0x3fff xx11 1111 1111 1111 ?0.0005 gauss ?2 0x3ffe xx11 1111 1111 1110 ?2.5 gauss ?5000 0x2c78 xx10 1100 0111 1000 barometric pressure th e barometric pressure measurements are contained in two registers, baro_out ( table 2 1 ) and baro_outl ( table 2 2 ) registers. tabl e 23 provides several numerical format examples for baro_out, which is sufficient for most applications. us e bar_outl and the following steps to increase the numerical resolution by 8-bits for best performance: 1. read bar_out and multiply by 256 (shift 8 bits) 2. read bar_outl and max off upper 8 bits 3. add results together for a 24-bit result, where 1 lsb = 0.0003125 and 0x00000 = 0 mbar table 21. baro_out (base address = 0x16), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:0] barometric pressure data, binary data format, 0.08 mbar per lsb, 0x0000 = 0 mbar table 22. baro_outl (base address = 0x18), read only bits description [15:8] not used [7:0] barometric pressure data, binary data format, 0.0003125 mbar per lsb, 0x0000 = 0 mbar table 23. pressure, binary, baro_out only pressure (mbar) decimal hex binary 1200 15,000 0x3a98 xx11 1010 1001 1000 1100 13,750 0x35b6 xx11 0101 1011 0110 1000 12,500 0x30d4 xx11 0000 1101 0100 0.16 2 0x0002 xx00 0000 0000 0010 0.08 1 0x0001 xx00 0000 0000 0001 0 0 0x0000 xx00 0000 0000 0000 internal temperature the internal temperature measurement data loads into the temp_out ( table 24 ) register. table 25 illustrates the temperature data format. table 24. temp_out (base address = 0x1a), read only bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:12] not used [11:0] internal temperature data, twos complement, 0.136c/lsb, 25c = 0x000 table 25. temperature, twos complement format temperature decimal hex binary +105c +588 lsb 0x24c xxxx 0010 0100 1100 +85c +441 lsb 0x1b9 xxxx 0001 1011 1001 +25.272c +2 lsb 0x002 xxxx 0000 0000 0010 +25.136c +1 lsb 0x001 xxxx 0000 0000 0001 +25c 0 lsb 0x000 xxxx 0000 0000 0000 +24.864c ?1 lsb 0xfff xxxx 1111 1111 1111 +24.728c ?2 lsb 0xffe xxxx 1111 1111 1110 ?40c ?478 lsb 0xe22 xxxx 1110 0010 0010
ADIS16407 rev. a | page 13 of 24 power supply table 29. analog input, offset binary format input voltage decimal hex binary 3.3 v 4095 the supply_out register ( table 26 ) provides a measurement of the voltage that is on the vdd pins of the device. table 27 illustrates the power supply data format. table 26. supply_out (base address = 0x02), read only 0xfff xxxx 1111 1111 1111 1 v 1241 0x4d9 xxxx 0100 1101 1001 1.6118 mv 2 0x002 xxxx 0000 0000 0010 805.9 v 1 0x001 xxxx 0000 0000 0001 0 v 0 bits description 0x000 xxxx 0000 0000 0000 [15] new data indicator (nd), 1 = new data in register device configuration [14] error/alarm, 1 = active, see diag_stat for error flags the control registers in table 30 provide users with a variety of configuration options. the spi provides access to these registers, one byte at a time, using the bit assignments in figure 13 . each register has 16 bits, where bits[7:0] represent the lower address, and bits[15:8] represent the upper address. figure 16 provides an example of writing 0x03 to address 0x3b (smpl_prd[15:8]), using din = 0xbb03. this example reduces the sample rate by a factor of eight (see tabl e 46 ). [13:12] not used [11:0] power supply measurement data, binary format, 2.418 mv/lsb, 0 v = 0x000 table 27. power supply data, binary format voltage decimal hex binary +5.25 v 2171 0x87b xxxx 1000 0111 1011 +5.0 v 2068 0x814 xxxx 1000 0001 0100 +4.75 v 1964 0x7ac xxxx 0111 1010 1100 1 v 414 sclk cs din din = 1011 1011 0000 0011 = 0xbb03, writes 0x03 to addr ess 0x3b. 09797-016 0x19e xxxx 0001 1001 1110 4.836 mv 2 0x002 xxxx 0000 0000 0010 2.418 mv 1 0x001 xxxx 0000 0000 0001 0 v 0 0x000 xxxx 0000 0000 0000 input adc channel figure 16. example spi write sequence dual memory structure the aux_adc register provides access to the auxiliary adc input channel. the adc is a 12-bit successive approximation converter that has an input circuit equivalent to the one shown in figure 15 . the maximum input is 3.3 v. the esd protection diodes can handle 10 ma without causing irreversible damage. the on resistance (r1) of the switch has a typical value of 100 . the sampling capacitor, c2, has a typical value of 16 pf. writing configuration data to a control register updates its sram contents, which are volatile. after optimizing each relevant control register setting in a system, set glob_cmd[3] = 1 (din = 0xbe08) to backup these settings in nonvolatile flash memory. the flash backup process requires a valid power supply level for the entire 75 ms process time. table 30 provides a user register memory map that includes a flash backup column. a yes in this column indicates that a register has a mirror location in flash and, when backed up properly, it automatically restores itself during startup or after a reset. figure 17 provides a diagram of the dual memory structure used to manage operation and store critical user settings. c2 c1 r1 v c c d d 09797-015 figure 15. equivalent analog input circuit (conversion phase: switch open, track phase: switch closed) table 28. aux_adc (base address = 0x1c), read only nonvolatile flash memory (no spi access) manual flash backup start-up reset volatile sram spi access 09797-017 bits description [15] new data indicator (nd), 1 = new data in register [14] error/alarm, 1 = active, see diag_stat for error flags [13:12] not used [11:0] analog input channel data, binary format, 0.8059 mv/lsb, 0 v = 0x000 figure 17. sram and flash memory diagram
ADIS16407 rev. a | page 14 of 24 user registers table 30. user register memory map 1 name r/w flash backup address 2 default function bit assignments flash_cnt r yes 0x00 n/a flash memory write count see table 38 supply_out r no 0x02 n/a power supply measurement see table 26 xgyro_out r no 0x04 n/a x-axis gyroscope output see table 9 ygyro_out r no 0x06 n/a y-axis gyroscope output see table 10 zgyro_out r no 0x08 n/a z- axis gyroscope output see table 11 xaccl_out r no 0x0a n/a x-ax is accelerometer output see table 13 yaccl_out r no 0x0c n/a y-ax is accelerometer output see table 14 zaccl_out r no 0x0e n/a z-ax is accelerometer output see table 15 xmagn_out r no 0x10 n/a x-axis magnetometer measurement see table 17 ymagn_out r no 0x12 n/a y-axis magnetometer measurement see table 18 zmagn_out r no 0x14 n/a z-axis magnetometer measurement see table 19 baro_out r no 0x16 n/a barometer pres sure measurement, high word see table 21 baro_outl r no 0x18 n/a barometer pr essure measurement, low word see table 22 temp_out r no 0x1a n/a temperature output see table 24 aux_adc r no 0x1c n/a auxiliary adc measurement see table 28 xgyro_off r/w yes 0x1e 0x0000 x-axis gyroscope bias offset factor see table 49 ygyro_off r/w yes 0x20 0x0000 y-axis gyroscope bias offset factor see table 50 zgyro_off r/w yes 0x22 0x0000 z-axis gyroscope bias offset factor see table 51 xaccl_off r/w yes 0x24 0x0000 x-axis acceleration bias offset factor see table 52 yaccl_off r/w yes 0x26 0x0000 y-axis acceleration bias offset factor see table 53 zaccl_off r/w yes 0x28 0x0000 z-axis acce leration bias offset factor see table 54 xmagn_hic r/w yes 0x2a 0x0000 x-axis ma gnetometer, hard iron factor see table 55 ymagn_hic r/w yes 0x2c 0x0000 y-axis ma gnetometer, hard iron factor see table 56 zmagn_hic r/w yes 0x2e 0x0000 z-axis ma gnetometer, hard iron factor see table 57 xmagn_sic r/w yes 0x30 0x0800 x-axis ma gnetometer, soft iron factor see table 58 ymagn_sic r/w yes 0x32 0x0800 y-axis ma gnetometer, soft iron factor see table 59 zmagn_sic r/w yes 0x34 0x0800 z-axis ma gnetometer, soft iron factor see table 60 gpio_ctrl r/w no 0x36 0x0000 auxiliary digital input/output control see table 42 msc_ctrl r/w yes 0x38 0x0006 miscellaneous control see table 39 smpl_prd r/w yes 0x3a 0x0001 internal sample period (rate) control see table 46 sens_avg r/w yes 0x3c 0x0402 dynamic range and digital filter control see table 47 slp_ctrl w no 0x3e n/a sleep mode control see table 33 diag_stat r no 0x40 0x0000 system status see table 40 glob_cmd w n/a 0x42 0x0000 system command see table 32 alm_mag1 r/w yes 0x44 0x0000 alarm 1 amplitude threshold see table 62 alm_mag2 r/w yes 0x46 0x0000 alarm 2 amplitude threshold see table 63 alm_smpl1 r/w yes 0x48 0x0000 alarm 1 sample size see table 64 alm_smpl2 r/w yes 0x4a 0x0000 alarm 2 sample size see table 65 alm_ctrl r/w yes 0x4c 0x0000 alarm control see table 66 aux_dac r/w no 0x4e 0x0000 auxiliary dac data see table 43 reserved n/a n/a 0x50 n/a reserved lot_id1 r yes 0x52 n/a lot identification number see table 34 lot_id2 r yes 0x54 n/a lot identification number see table 35 prod_id r yes 0x56 0x4107 product identifier see table 36 serial_num r yes 0x58 n/a see table 37 1 n/a means not applicable. 2 each register contains two bytes. the address of the lower byte is displayed. the address of the upper byte is equal to the ad dress of the lower byte plus 1.
ADIS16407 rev. a | page 15 of 24 system functions the ADIS16407 provides a number of system level controls for managing its operation, using the registers in table 31 . table 31. system tool registers register name address description msc_ctrl 0x38 self test, calibration, data ready slp_ctrl 0x3e sleep mode control diag_stat 0x40 error flags glob_cmd 0x42 single command functions lot_id1 0x52 lot identification code 1 lot_id2 0x54 lot identification code 2 prod_id 0x56 product identifier serial_num 0x58 serial number global commands the glob_cmd register in table 32 provides trigger bits for software reset, flash memory management, dac control, and calibration control. start each of these functions by writing a 1 to the assigned bit in glob_cmd. after completing the task, the bit automatically returns to 0. for example, set glob_cmd[7] = 1 (din = 0xc280) to initiate a software reset, which stops the sensor operation and runs the device through its start-up sequence. set glob_cmd[3] = 1 (din = 0xc208) to back up the user register contents in nonvolatile flash. this sequence includes loading the control registers with the data in their respective flash memory locations prior to producing new data. table 32. glob_cmd (base address = 0x42), write only bits description (default = 0x0000) [15:8] not used [7] software reset [6:4] not used [3] flash update [2] auxiliary dac data latch [1] factory calibration restore [0] gyroscope bias correction power management the slp_ctrl register (see table 33 ) provides two sleep modes for system level management: normal and timed. set slp_ctrl[8] = 1 (din = 0xbf01) to start normal sleep mode. when the device is in sleep mode, the following events can cause it to wake up: asserting cs from high to low, asserting rst from high to low, or cycling the power. use slp_ctrl[7:0] to put the device into sleep mode for a specified period. for example, slp_cnt[7:0] = 0x64 (din = 0xbe64) puts the ADIS16407 to sleep for 50 seconds. table 33. slp_ctrl (base address = 0x3e), write only bits description [15:9] not used [8] normal sleep mode (1 = start sleep mode) [7:0] timed sleep mode (write 0x01 to 0xff to start) sleep mode duration, binary, 0.5 sec/lsb product identification the prod_id register in table 36 contains the binary equivalent of 16,407. it provides a product specific variable for systems that need to track this in their system software. the lot_id1 and lot_id2 registers in table 34 and table 35 combine to provide a unique, 32-bit lot identification code. the serial_num register in table 37 contains a binary number that represents the serial number on the device label. the assigned serial numbers in serial_num are lot specific. table 34. lot_id1 (base address = 0x52), read only bits description [15:0] lot identification, binary code table 35. lot_id2 (base address = 0x54), read only bits description [15:0] lot identification, binary code table 36. prod_id bit (base address = 0x56), read only bits description (default = 0x4017) [15:0] product identification = 0x4017 table 37. serial_num (base address = 0x58), read only bits description [15:12] reserved [11:0] serial number, 1 to 4094 (0xffe) memory management the flash_cnt register in table 38 provides a 16-bit counter that helps track the number of write cycles to the nonvolatile flash memory. the flash updates every time a manual flash update occurs. a manual flash update is initiated by the glob_cmd[3] bit and is also performed at the completion of the glob_cmd[1:0] functions (see table 32 ). table 38. flash_cnt (base address = 0x00), read only bits description [15:0] binary counter checksum test set msc_ctrl[11] = 1 (din = 0xb908) to perform a check- sum test of the internal program memory. this function takes a summation of the internal program memory and compares it with the original summation value for the same locations (from factory configuration). check the results in the diag_stat register, which is in table 40 . diag_stat[6] equals 0 if the sum matches the correct value, and 1 if it does not. make sure that the power supply is within specification for the entire 20 ms that this function takes to complete.
ADIS16407 rev. a | page 16 of 24 self test function the msc_ctrl register in table 39 provides a self test function for the gyroscopes and accelerometers. this function allows the user to verify the mechanical integrity of each mems sensor. when enabled, the self test applies an electrostatic force to each internal sensor element, which causes them to move. the move- ment in each element simulates its response to actual rotation/ acceleration and generates a predictable electrical response in the sensor outputs. the ADIS16407 exercises this function and compares the response to an expected range of responses and reports a pass/fail response to diag_stat[5]. if this is high, the diag_stat[15:10] provide pass/fail flags for each inertial sensor. table 39. msc_ctrl (base address = 0x38), read/write bits description (default = 0x0006) [15:12] not used [11] checksum memory test (cleared upon completion) 1 1 = enabled, 0 = disabled [10] internal self test (cleared upon completion) 1 1 = enabled, 0 = disabled [9:8] do not use, always set to 00 [7] linear acceleration bias compensation for gyroscopes 1 = enabled, 0 = disabled [6] point of percussion, see figure 6 1 = enabled, 0 = disabled [5:3] not used [2] data ready enable 1 = enabled, 0 = disabled [1] data ready polarity 1 = active high, 0 = active low [0] data ready line select 1 = dio2, 0 = dio1 1 the bit is automatically reset to 0 after finishing the test. status/error flags the diag_stat register in table 40 provides error flags for a number of functions. each flag uses 1 to indicate an error con- dition and 0 to indicate a normal condition. reading this register provides access to the status of each flag and resets all of the bits to 0 for monitoring future operation. if the error condition remains, the error flag returns to 1 at the conclusion of the next sample cycle. diag_stat[0] does not require a read of this register to return to 0. if the power supply voltage goes back into range, this flag clears automatically. the spi communication error flag in diag_stat[3] indicates that the number of sclks in a spi sequence did not equal a multiple of 16 sclks. table 40. diag_stat (base address = 0x40), read only bits description (default = 0x0000) [15] z-axis accelerometer self test failure 1 = fail, 0 = pass [14] y-axis accelerometer self test failure 1 = fail, 0 = pass [13] x-axis accelerometer self test failure 1 = fail, 0 = pass [12] z-axis gyroscope self test failure 0 = pass [11] y-axis gyroscope self test failure 1 = fail, 0 = pass [10] x-axis gyroscope self test failure 1 = fail, 0 = pass [9] alarm 2 status 1 = active, 0 = inactive [8] alarm 1 status 1 = active, 0 = inactive [7] not used [6] flash test, checksum flag 1 = fail, 0 = pass [5] self test diagnostic error flag 1 = fail, 0 = pass [4] sensor overrange 1 = overrange, 0 = normal [3] spi communication failure 1 = fail, 0 = pass [2] flash update failure 1 = fail, 0 = pass [1] power supply high 1 = vdd > 5.25 v 0 = vdd 5.25 v [0] power supply low 1 = vdd < 4.75 v 0 = vdd 4.75 v
ADIS16407 rev. a | page 17 of 24 input/output configuration table 41 provides a summary of registers that provide input/output configuration and control. table 41. input/output registers register name address description gpio_ctrl 0x36 general-purpose i/o control msc_ctrl 0x38 self test, calibration, data ready aux_dac 0x4e output voltage control, aux_dac data ready input/output indicator the factory default setting of msc_ctrl[2:0] = 110 establishes dio1 as a positive polarity data ready signal. see table 39 for additional data ready configuration options. for example, set msc_ctrl[2:0] = 100 (din = 0xb804) to change the polarity of the data ready signal on dio1 for interrupt inputs that require negative logic inputs for activation. the pulse width is typically between 60 s and 150 s, including jitter (30 s). general-purpose input/output dio1, dio2, dio3, and dio4 are configurable, general-purpose input/output lines that serve multiple purposes. the data ready controls in msc_ctrl[2:0] have the highest priority for configuring dio1 and dio2. the alarm indicator controls in alm_ctrl[2:0] have the second highest priority for configuring dio1 and dio2. the external clock control associated with smpl_prd[0] has the highest priority for dio4 configuration (see table 46 ). gpio_ctrl in table 42 has the lowest priority for configuring dio1, dio2, and dio4, and has absolute control over dio3. table 42. gpio_ctrl (base address = 0x36), read/write bits description (default = 0x0000) [15:12] not used [11] general-purpose i/o line 4 (dio4) data level [10] general-purpose i/o line 3 (dio3) data level [9] general-purpose i/o line 2 (dio2) data level [8] general-purpose i/o line 1 (dio1) data level [7:4] not used [3] general-purpose i/o line 4 (dio4) direction control 1 = output, 0 = input [2] general-purpose i/o line 3 (dio3) direction control 1 = output, 0 = input [1] general-purpose i/o line 2 (dio2) direction control 1 = output, 0 = input [0] general-purpose i/o line 1 (dio1) direction control 1 = output, 0 = input example input/output configuration for example, set gpio_ctrl[3:0] = 0100 (din = 0xb604) to set dio3 as an output signal pin and dio1, dio2, and dio4 as input signal pins. set the output on dio3 to 1 by setting gpio_ctrl[10] = 1 (din = 0xb704). then, read gpio_ctrl[7:0] (din = 0x3600) and mask off gpio_ctrl[9:8] and gpio_ctrl[11] to monitor the digital signal levels on dio4, dio2, and dio1. auxiliary dac the aux_dac register in table 43 provides user controls for setting the output voltage on the aux_dac pin. the 12-bit aux_dac line can drive its output to within 5 mv of the ground reference when it is not sinking current. as the output approaches 0 v, the linearity begins to degrade (~100 lsb starting point). as the sink current increases, the nonlinear range increases. the dac latch command in glob_cmd[2] (see table 32 ) moves the values of the aux_dac register into the dac input register, enabling both bytes to take effect at the same time. this prevents undesirable output levels, which reflect single byte changes of the aux_dac register. table 43. aux_dac (base address = 0x4e), read/write bits description (default = 0x0000) [15:12] not used [11:0] data bits, scale factor = 0.8059 mv/lsb, offset binary format, 0 v = 0 lsb table 44. setting aux_dac = 1 v din description 0xced9 aux_dac[7:0] = 0xd9 (217 lsb) 0xcf04 aux_dac[15:8] = 0x04 (1024 lsb) 0xc204 glob_cmd[2] = 1; move values into the dac input register, resulting in a 1 v output level
ADIS16407 rev. a | page 18 of 24 digital processing configuration table 45. digital processing registers register name address description smpl_prd 0x3a sample rate control sens_avg 0x3c digital filtering and range control sample rate the internal sampling system produces new data in the output data registers at a rate of 819.2 sps. the smpl_prd register in table 46 provides two functional controls that affect sampling and register update rates. smpl_prd[12:8] provides a control for reducing the update rate, using an averaging filter with a deci- mated output. these bits provide a binomial control that divides the data rate by a factor of 2 every time this number increases by 1. for example, set smpl_prd[15:8] = 0x04 (din = 0xbb04) to set the decimation factor to 16. this reduces the update rate to 51 sps and the bandwidth to 25 hz. table 46. smpl_prd (base address = 0x3a), read/write bits description (default = 0x0001) [15:13] not used [12:8] d, decimation rate setting, binomial, see figure 19 [7:1] not used [0] clock 1 = internal 819.2 sps 0 = external input clock configuration smpl_prd[0] provides a control for synchronizing the internal sampling to an external clock source. set smpl_prd[0] = 0 (din = 0xba00) and gpio_ctrl[3] = 0 (din = 0xb600) to enable the external clock. see table 2 and figure 4 for timing information. digital filtering the sens_avg register in table 47 provides user controls for the low-pass filter. this filter contains two cascaded averaging filters that provide a bartlett window, fir filter response (see figure 19 ). for example, set sens_avg[2:0] = 100 (din = 0xbc04) to set each stage to 16 taps. when used with the default sample rate of 819.2 sps and zero decimation (smpl_prd[15:8] = 0x00), this value reduces the sensor bandwidth to approximately 16 hz. 0 ?20 ?40 ?60 ?80 ?100 ?120 ?140 0.001 0.01 0.1 1 magnitude (db) frequency ( f / f s ) n = 2 n = 4 n = 16 n = 64 09797-018 figure 18. bartlett window, fi r filter frequency response (phase delay = n samples) dynamic range the sens_avg[10:8] bits provide three dynamic range settings for this gyroscope. the lower dynamic range settings (75/sec and 150/sec) limit the minimum filter tap sizes to maintain resolution. for example, set sens_avg[10:8] = 010 (din = 0xbd02) for a measurement range of 150/sec. because this setting can influence the filter settings, program sens_avg[10:8] before programming sens_avg[2:0] if more filtering is required. table 47. sens_avg (base address = 0x3c), read/write bits description (default = 0x0402) [15:11] not used [10:8] measurement range (sensitivity) selection 100 = 300/sec (default condition) 010 = 150/sec, filter taps 4 (bits[2:0] 0x02) 001 = 75/sec, filter taps 16 (bits[2:0] 0x04) [7:3] not used [2:0] filter size variable b number of taps in each stage; n b = 2 b see figure 18 for filter response mems sensor low-pass filter 330hz clock 819.2sps adc bartlett window fir filter a v erage/ decimation filter external clock enabled by smpl_prd[0] = 0 gyroscopes low-pass, two-pole (404hz, 757hz) accelerometers low-pass, single-pole (330hz) b = sens_avg[2:0] n b = 2 b n b = number of taps (per stage) d = smpl_prd[12:8] n d = 2 d n d = number of taps n d x ( n ) n = 1 1 n b n b x ( n ) n = 1 1 n b n b x ( n ) n = 1 1 n d n d 09797-019 figure 19. sampling and frequency response block diagram
ADIS16407 rev. a | page 19 of 24 calibration the mechanical structure and assembly process of the ADIS16407 provide excellent position and alignment stability for each sensor, even after subjected to temperature cycles, shock, vibration, and other environmental conditions. the factory calibration includes a dynamic characterization of each gyroscope and accelerometer over temperature and generates sensor specific correction formulas. table 48 provides a list of registers that can help optimize system performance after installation. figure 20 illustrates the summing function for the offset correction register of each sensor. table 48. registers for user calibration register address description xgyro_off 0x1e gyroscope bias, x-axis ygyro_off 0x20 gyroscope bias, y-axis zgyro_off 0x22 gyroscope bias, z-axis xaccl_off 0x24 accelerometer bias, x-axis yaccl_off 0x26 accelerometer bias, y-axis zaccl_off 0x28 accelerometer bias, z-axis xmagn_hic 0x2a hard iron correction, x-axis ymagn_hic 0x2c hard iron correction, y-axis zmagn_hic 0x2e hard iron correction, z-axis xmagn_sic 0x30 soft iron correction, x-axis ymagn_sic 0x32 soft iron correction, y-axis zmagn_sic 0x34 soft iron correction, z-axis msc_ctrl 0x38 miscellaneous calibration glob_cmd 0x42 automatic calibration gyroscopes the xgyro_out ( table 49 ), ygyro_out ( table 50 ), and zgyro_out ( tabl e 51 ) registers provide user-programmable bias adjustment function for the x-, y-, and z-axis gyroscopes, respectively. figure 20 illustrates that they contain bias correction factors that adjust to the sensor data immediately before it loads into the output register. xgyro_off x-axis mems gyro adc factory calibration and filtering xgyro_out 09797-020 figure 20. user calibration, xgyro_off example gyroscope bias error estimation any system level calibration function must start with an estimate of the bias errors, which typically comes from a sample of gyro- scope output data, when the device is not in motion. the sample size of data depends on the accuracy goals. figure 7 provides a trade-off relationship between averaging time and the expected accuracy of a bias measurement. vibration, thermal gradients, and power supply instability can influence the accuracy of this process. table 49. xgyro_off (base address = 0x1e), read/write bits description (default = 0x0000) [15:14] not used [13:0] x-axis, gyroscope offset correction factor, twos complement, 0.0125/sec per lsb table 50. ygyro_off (base address = 0x20), read/write bits description (default = 0x0000) [15:14] not used [13:0] y-axis, gyroscope offset correction factor, twos complement, 0.0125/sec per lsb table 51. zgyro_off (base address = 0x22), read/write bits description (default = 0x0000) [15:14] not used [13:0] z-axis, gyroscope offset correction factor, twos complement, 0.0125/sec per lsb gyroscope bias correction factors when the bias estimate is complete, multiply the estimate by ?1 to change its polarity, convert it into digital format for the offset correction registers ( table 49 ), and write the correction factors to the correction registers. for example, lower the x-axis bias by 10 lsb (0.125/sec) by setting xgyro_off = 0x1ff6 (din = 0x9f1f, 0x9ef6). si ngle command bias correction gl ob_cmd[0] ( table 32 ) loads the xgyro_off registers with the values that are the opposite of the values that are in xgyro_out, at the time of initiation. use this command, together with the decimation filter (smpl_prd[12:8], table 46 ), to automatically average the gyroscope data and improve the accuracy of this function, as follows: 1. set sens_avg[10:8] = 001 (din = 0xbd01) to optimize the xgyro_out sensitivity to 0.0125/sec/lsb. 2. set smpl_prd[12:8] = 0x10 (din = 0xbb10) to set the decimation rate to 65,536 (2 16 ), which provides an averaging time of 80 seconds (65,536 819.2 sps). 3. wait for 80 seconds while keeping the device motionless. 4. set glob_cmd[0] = 1 (din = 0xc201) and wait for the time it takes to perform the flash memory backup (~75 ms).
ADIS16407 rev. a | page 20 of 24 accelerometers the xaccl_out ( table 52 ), yaccl_out ( table 53 ), and zaccl_out ( table 54 ) registers provide user programmable bias adjustment function for the x-, y-, and z-axis accelerometers, respectively. these registers adjust the accelerometer data in the same manner as xgyro_off functions in figure 20 . table 52. xaccl_off (base address = 0x24), read/write bits description (default = 0x0000) [15:14] not used [13:0] x-axis, accelerometer offset correction factor, twos complement, 0.25 m g /lsb table 53. yaccl_off (base address = 0x26), read/write bits description (default = 0x0000) [15:14] not used [13:0] y-axis, accelerometer offset correction factor, twos complement, 0.25 m g /lsb table 54. zaccl_off (base address = 0x28), read/write bits description (default = 0x0000) [15:14] not used [13:0] z-axis, accelerometer offset correction factor, twos complement, 0.25 m g /lsb accelerometer bias error estimation under static conditions, orient each accelerometer in positions where the response to gravity is predictable. a common approach to this is to measure the response of each accelerometer when they are oriented in peak response positions, that is, where 1 g is the ideal measurement position. next, average the +1 g and ?1 g accelerometer measurements together to estimate the residual bias error. using more points in the rotation can improve the accuracy of the response. accelerometer bias correction factors when the bias estimate is complete, multiply the estimate by ?1 to change its polarity, convert it to the digital format for the offset correction registers ( table 52 ), and write the correction factors to the correction registers. for example, lower the x-axis bias by 10 lsb (33.3 m g ) by setting xaccl_off = 0x1ff6 (din = 0xa51f, 0xa4f6). point of percussion alignment set msc_ctrl[6] = 1 (din = 0xb846) to enable this feature and maintain the factory default settings for dio1. this feature performs a point of percussion translation to the point identified in figure 21 . see table 39 for more information on msc_ctrl. origin alignment reference point see msc_ctrl[6]. 09797-021 figure 21. point of percussion physical reference magnetometer calibration the ADIS16407 provides registers that contribute to both hard iron and soft iron correction factors, as shown in figure 22 adc + xmagn_out magnetic sensor factory calibration and filtering xmagn_sic xmagn_hic 09797-022 figure 22. hard iron and soft iron factor correction hard iron correction the xmagn_hic ( table 55 ), ymagn_hic ( table 56 ), and zmagn_hic ( table 57 ) registers provide the user programmable bias adjustment function for the x-, y-, and z-axis magnetometers, respectively. hard iron effects result in an offset of the magneto- meter response. table 55. xmagn_hic (base address = 0x2a), read/write bits description (default = 0x0800) [15:14] not used [13:0] x-axis hard iron correction factor, twos complement, 0.5 mgauss/lsb table 56. ymagn_hic (base address = 0x2c), read/write bits description (default = 0x0800) [15:14] not used [13:0] y-axis hard iron correction factor, twos complement, 0.5 mgauss/lsb table 57. zmagn_hic (base address = 0x2e), read/write bits description (default = 0x0800) [15:14] not used [13:0] z-axis hard iron correction factor, twos complement, 0.5 mgauss/lsb
ADIS16407 rev. a | page 21 of 24 ha rd iron factors when the hard iron error estimation is complete, take the following steps: 1. multiply the estimate by ?1 to change its polarity. 2. convert it into digital format for the hard iron correction registers ( table 55 ). 3. write the correction factors to the correction registers. for example, lower the x-axis bias by 10 lsb (5 mgauss) by setting xmagn_hic = 0x1ff6 (din = 0xab1f, 0xaaf6). soft iron effects the xmagn_sic ( table 58 ), ymagn_sic ( table 59 ), and zmagn_sic ( table 60 ) registers provide an adjustment variable for the magnetometer sensitivity adjustment in each magnetometer response to simplify the process of performing a system level soft iron correction. table 58. xmagn_sic (base address = 0x30), read/write bits description (default = 0x0000) [15:12] not used [11:0] x-axis soft iron correction factor, binary format, 2 = 0xfff, 1 = 0x800, 0 = 0x000, ~0.0488%/lsb table 59. ymagn_sic (base address = 0x32), read/write bits description (default = 0x0000) [15:12] not used [11:0] y-axis soft iron correction factor, binary format, 2 = 0xfff, 1 = 0x800, 0 = 0x000, ~0.0488%/lsb table 60. zmagn_sic (base address = 0x34), read/write bits description (default = 0x0000) [15:12] not used [11:0] z-axis soft iron correction factor, binary format, 2 = 0xfff, 1 = 0x800, 0 = 0x000, ~0.0488%/lsb soft iron factors when the soft iron error estimation is complete, convert the sensitivity into the digital format for the soft iron correction registers ( table 58 ) and write the correction factors to the correction registers. a simple method for converting the correction factor is to divide it by 2 and multiply it by 4095. for example, increasing the default soft iron factor to approximately 1.15 uses a binary code for 2355, or 0x933. increase the soft iron correction factor for the y-axis to approximately 1.15 by setting ymagn_sic = 0x0933 (din = 0xb309, 0xb233). flash updates when using the user calibration registers to optimize system level accuracy, keep in mind that the register values are volatile until their contents are saved in the nonvolatile flash memory. after writing all of the correction factors into the user correction registers, set glob_cmd[3] = 1 (din = 0xc204) to save these settings in nonvolatile flash memory. be sure to consider the endurance rating of the flash memory when determining how often to update the user correction factors in the flash memory. restoring factory calibration set glob_cmd[1] = 1 (din = 0xc202) to execute the factory calibration restore function. this is a single command function, which resets the gyroscope and accelerometer offset registers to 0x0000 and all sensor data to 0. then, it automatically updates the flash memory within 75 ms and restarts sampling and processing data. see table 32 for more information on glob_cmd.
ADIS16407 rev. a | page 22 of 24 alarms alarm 1 and alarm 2 provide two independent alarms. table 61 lists the alarm control registers, including alm_ctrl ( table 66 ), which provides control bits for data source selection, static/ dynamic comparison, filtering, and alarm indicator. table 61. registers for alarm configuration register address description alm_mag1 0x44 alarm 1 trigger setting alm_mag2 0x46 alarm 2 trigger setting alm_smpl1 0x48 alarm 1 sample period alm_smpl2 0x4a alarm 2 sample period alm_ctrl 0x4c alarm configuration static alarm use the static alarms setting compares the data source selection (alm_ctrl[15:8]) with the values in the alm_magx registers listed in table 62 and table 63 , using alm_magx[15] to deter- mine the trigger polarity. the data format in these registers matches the format of the data selection in alm_ctrl[15:8]. see table 67 , alarm 1, for a static alarm configuration example. table 62. alm_mag1 (base a ddress = 0x44), read/write bits description (default = 0x0000) [15] trigger polarity 1 = greater than, 0 = less than [14] not used [13:0] threshold setting; matches for format of alm_ctrl[11:8] output register selection table 63. alm_mag2 (base a ddress = 0x46), read/write bits description (default = 0x0000) [15] trigger polarity 1 = greater than, 0 = less than [14] not used [13:0] threshold setting; matches for format of alm_ctrl[15:12] output register selection dynamic alarm use the dynamic alarm setting monitors the data selection for a rate-of-change comparison. the rate-of-change comparison is represented by the magnitude in the alm_magx registers over the time represented by the number-of-samples setting in the alm_smplx registers, located in table 64 . see table 67 , alarm 2, for a dynamic alarm configuration example. table 64. alm_smpl1 (base address = 0x48), read/write bits description (default = 0x0000) [15:8] not used [7:0] binary, number of samples (both 0x00 and 0x01 = 1) table 65. alm_smpl2 (base address = 0x4a), read/write bits description (default = 0x0000) [15:8] not used [7:0] binary, number of samples (both 0x00 and 0x01 = 1) alarm reporting the diag_stat[9:8] bits provide error flags that indicate an alarm condition. the alm_ctrl[2:0] bits provide controls for a hardware indicator using dio1 or dio2. table 66. alm_ctrl (base address = 0x4c), read/write bits description (default = 0x0000) [15:12] alarm 2 data source selection 0000 = disable 0001 = supply_out 0010 = xgyro_out 0011 = ygyro_out 0100 = zgyro_out 0101 = xaccl_out 0110 = yaccl_out 0111 = zaccl_out 1001 =xmagn_out 1010 = ymagn_out 1011 = zmagn_out 1100 = aux_adc [11:8] alarm 1 data source selection (same as alarm 2) [7] alarm 2, dynamic/static (1 = dynamic, 0 = static) [6] alarm 1, dynamic/static (1 = dynamic, 0 = static) [5] not used [4] data source filtering (1 = filtered, 0 = unfiltered) [3] not used [2] alarm indicator (1 = enabled, 0 = disabled) [1] alarm indicator active polarity (1 = high, 0 = low) [0] alarm output line select (1 = dio2, 0 = dio1) alarm example table 67 offers an example that configures alarm 1 to trigger when filtered zaccl_out data drops below 0.7 g , and alarm 2 to trigger when filtered zgyro_out data changes by more than 50/sec over a 100 ms period, or 500/sec 2 . the filter setting helps reduce false triggers from noise and refine the accuracy of the trigger points. the alm_smpl2 setting of 82 samples provides a comparison period that is approximately equal to 100 ms for an internal sample rate of 819.2 sps. table 67. alarm configuration example 1 din description 0xcd47, alm_ctrl = 0x4797 0xcc97 alarm 2: dynamic, -zgyro_out (-time, alm_smpl2) > alm_mag2 alarm 1: static, zaccl_out < alm_mag1, filtered data dio2 output indicator, positive polarity 0xc703, 0xc6e8 alm_mag2 = 0x03e8 = 1,000 lsb = 50/sec 0xc500, 0xc4d2 alm_mag1 = 0x00d2 = 210 lsb = +0.7 g 0xc866 alm_smpl2[7:0] = 0x52 = 82 samples 82 samples 819.2 sps = ~100 ms
ADIS16407 rev. a | page 23 of 24 applications information installation/handling fo r ADIS16407 installation, use the following two step process: 1. secure the base plate using machine screws. 2. press the connector into its mate. fo r removal 1. gently pry the connector from its mate using a small slot screwdriver. 2. remove the screws and lift up the device. never attempt to unplug the connector by pulling on the plastic case or base plate. although the flexible connector is very reliable in normal operation, it can break when subjected to unreasonable handling. when broken, the flexible connector cannot be repaired. the an-1045 application note, isensor? imu mounting tips , provides more information about developing an appropriate mechanical interface design. gyroscope bias optimization the factory calibration corrects for initial and tempera- ture dependent bias errors in the gyroscopes. use the autonull command (glob_cmd[0]) and decimation filter (smpl_prd[12:8]) to address rate random walk (rrw) behaviors. control physical, power supply, and temperature stability during the averaging times to help ensure optimal accuracy during this process. refer to the an-1041 application note, isensor? imu quick start guide and bias optimization tips , for more information about optimizing performance. interface printed circuit board (pcb) the ADIS16407/pcbz includes one ADIS16407bmlz and one interface pcb. the interface pcb simplifies the process of inte- grating these products into an existing processor system. j1 and j2 are dual row, 2 mm (pitch) connectors that work with a number of ribbon cable systems, including 3m part 152212- 0100-gb (ribbon crimp connector) and 3m part 3625/12 (ribbon cable). figure 23 provides a hole pattern design for installing the ADIS16407bmlz and the interface pcb onto the same surface. figure 24 provides the pin assignments for each connector, which match the pin descriptions for the ADIS16407bmlz. the ADIS16407does not require any external capacitors for normal operation; therefore, the interface pcb does not use the c1/c2 pads (not shown in figure 23 ). 11 12 2 1 2 1 11 12 j2 j1 23.75 21.24 30.10 27.70 1.20 notes 1. dimensions in millimeters. 09797-023 figure 23. physical diagram for the ADIS16407/pcbz 1 2 3 4 5 6 7 8 9 10 11 12 aux_adc aux_dac dnc dnc dio2 dnc dnc dio1 dio4 dio3 gnd j2 gnd 2 4 6 8 10 1 3 5 7 9 11 12 rst cs gnd gnd vcc gnd vcc vcc din dout sclk j1 dnc 09797-024 figure 24. j1/j2 pin assignments
ADIS16407 rev. a | page 24 of 24 outline dimensions 122208-c top view bottom view front view detail a casting feature side view 22.964 22.710 22.456 14.950 14.550 14.150 21.410 21.210 21.010 23.504 23.250 22.996 5.20 5.00 4.80 (2 ) 4.20 4.00 3.80 (2 ) 17.41 17.21 17.01 (2 ) 2.660 2.500 2.340 23.454 23.200 22.946 31.900 31.700 31.500 4.330 bsc 1.588 bsc 2.382 bsc p i n 2 4 p i n 1 9.464 9.210 8.956 (2 ) detail a 14.00 bsc 0.305 bsc (24 ) 1.00 bsc (22 ) 1.65 bsc 4.162 bsc 7.18 bsc 1.588 bsc 12.10 bsc 0.05 bsc 1.00 bsc 2.00 bsc 10.50 bsc 10.60 bsc figure 25. 24-lead module with connector interface (ml-24-2) dimensions shown in millimeters ordering guide model 1 temperature range package description package option ADIS16407bmlz ?40c to +105c 24-lead module with connector interface ml-24-2 ADIS16407/pcbz interface pcb 1 z = rohs compliant part. ?2011 analog devices, inc. all rights reserved. trademarks and registered trademarks are the property of their respective owners. d09797-0-6/11(a)


▲Up To Search▲   

 
Price & Availability of ADIS16407

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X